Refactor bash MD scripts into typed Python core + Typer CLI#11
Open
bielj wants to merge 1 commit into
Open
Conversation
Restructure the repo so the existing bash MD-prep workflows become resilient, dynamic Python workflows organized in layers. At the base, reusable GROMACS primitives (grompp+mdrun, solvate, energy, WAT-topology management) wrap single operations with structured errors and reproducibility metadata; on top, composable typed step functions and hardened pipelines build on those primitives, including the adaptive pressure-driven resolvation loop. This layering decouples what a step does from how it is invoked, so the same core supports multiple front ends: a Typer CLI (subcommand per step + run-pipeline), an SDK public API (run_standard_md), and eventual Prefect orchestration without rewrites. Per-system behavior is driven by a Pydantic config (YAML/TOML + flag overrides) with per-invocation GROMACS run profiles, replacing hard-coded, typo-prone shell scripts. Adopt taylor as the canonical variant and add gmx-free contract/CLI tests wired into CI.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Restructure the repo so the existing bash MD-prep workflows become resilient,
dynamic Python workflows organized in layers. At the base, reusable GROMACS
primitives (grompp+mdrun, solvate, energy, WAT-topology management) wrap single
operations with structured errors and reproducibility metadata; on top, composable
typed step functions and hardened pipelines build on those primitives, including
the adaptive pressure-driven resolvation loop. This layering decouples what a step
does from how it is invoked, so the same core supports multiple front ends: a Typer
CLI (subcommand per step + run-pipeline), an SDK public API (run_standard_md), and
eventual Prefect orchestration without rewrites. Per-system behavior is driven by a
Pydantic config (YAML/TOML + flag overrides) with per-invocation GROMACS run
profiles, replacing hard-coded, typo-prone shell scripts. Adopt taylor as the
canonical variant and add gmx-free contract/CLI tests wired into CI.